package 炫彩元素类

import (
	xc "gitee.com/go_888/xcgui/xcgui/xc"
)

// X结构_形状矩形 矩形形状对象.
type X结构_形状矩形 struct {
	X结构_形状对象基类
}

// 形状矩形_创建, 创建矩形形状对象.
//
// x: X坐标.
//
// y: Y坐标.
//
// cx: 宽度.
//
// cy: 高度.
//
// hParent: 父对象句柄.
func X创建形状矩形(坐标, Y坐标, 宽度, 高度 int32, 父对象句柄 int) *X结构_形状矩形 {
	p := &X结构_形状矩形{}
	p.X设置句柄(xc.X形状矩形_创建(坐标, Y坐标, 宽度, 高度, 父对象句柄))
	return p
}

// 从句柄创建对象.
func X创建形状矩形并按句柄(句柄 int) *X结构_形状矩形 {
	p := &X结构_形状矩形{}
	p.X设置句柄(句柄)
	return p
}

// 从name创建对象, 失败返回nil.
func X创建形状矩形并按名称(名称 string) *X结构_形状矩形 {
	handle := xc.X取对象并按名称(名称)
	if handle > 0 {
		p := &X结构_形状矩形{}
		p.X设置句柄(handle)
		return p
	}
	return nil
}

// 从UID创建对象, 失败返回nil.
func X创建形状矩形并按UID(UID int32) *X结构_形状矩形 {
	handle := xc.X取对象并按UID(UID)
	if handle > 0 {
		p := &X结构_形状矩形{}
		p.X设置句柄(handle)
		return p
	}
	return nil
}

// 从UID名称创建对象, 失败返回nil.
func X创建形状矩形并按UID名称(名称 string) *X结构_形状矩形 {
	handle := xc.X取对象并按UID名称(名称)
	if handle > 0 {
		p := &X结构_形状矩形{}
		p.X设置句柄(handle)
		return p
	}
	return nil
}

// 形状矩形_置边框色, 设置边框颜色.
//
// color: xc.RGBA 颜色值.
func (s *X结构_形状矩形) X设置边框色(ABGR颜色值 int) *X结构_形状矩形 {
	xc.X形状矩形_设置边框色(s.X句柄, ABGR颜色值)
	return s
}

// 形状矩形_置填充色, 设置填充颜色.
//
// color: xc.RGBA 颜色值.
func (s *X结构_形状矩形) X设置填充色(ABGR颜色值 int) *X结构_形状矩形 {
	xc.X形状矩形_设置填充色(s.X句柄, ABGR颜色值)
	return s
}

// 形状矩形_置圆角大小, 设置圆角大小.
//
// nWidth: 圆角宽度.
//
// nHeight: 圆角高度.
func (s *X结构_形状矩形) X设置圆角大小(圆角宽度 int, 圆角高度 int32) *X结构_形状矩形 {
	xc.X形状矩形_设置圆角大小(s.X句柄, 圆角宽度, 圆角高度)
	return s
}

// 形状矩形_取圆角大小, 获取圆角大小.
//
// pWidth: 圆角宽度.
//
// pHeight: 圆角高度.
func (s *X结构_形状矩形) X取圆角大小(圆角宽度 *int, 圆角高度 *int32) *X结构_形状矩形 {
	xc.X形状矩形_取圆角大小(s.X句柄, 圆角宽度, 圆角高度)
	return s
}

// 形状矩形_启用边框, 启用绘制矩形边框.
//
// bEnable: 是否启用.
func (s *X结构_形状矩形) X启用边框(是否启用 bool) *X结构_形状矩形 {
	xc.X形状矩形_启用边框(s.X句柄, 是否启用)
	return s
}

// 形状矩形_启用填充, 启用填充矩形.
//
// bEnable: 是否启用.
func (s *X结构_形状矩形) X启用填充(是否启用 bool) *X结构_形状矩形 {
	xc.X形状矩形_启用填充(s.X句柄, 是否启用)
	return s
}

// 形状矩形_启用圆角.
//
// bEnable: 是否启用.
func (s *X结构_形状矩形) X启用圆角(是否启用 bool) *X结构_形状矩形 {
	xc.X形状矩形_启用圆角(s.X句柄, 是否启用)
	return s
}
